﻿<p>A half space solid divides the domain into two by a base surface. Normally, the base surface is a plane and devides
the infinitive space into two and indicates the side of the half-space by agreeing or disagreeing to the normal of the
plane.</p>
<p>Figure 2 illustrates the definition of the <em>IfcHalfSpaceSolid</em> within a given coordinate system. The base
surface is given by an unbounded plane, the red boundary is shown for visualization purposes only.</p>
<table cellpadding="2" cellspacing="2" summary="illustration">
<tr>
<td><img src="../../../figures/ifchalfspacesolid-layout1.gif" alt="half space solid" width="400" height="300" border="0"></td>
</tr>
<tr>
<td>
<p class="figure">Figure 2 &mdash; Half space solid geometry</p>
</td>
</tr>
</table>
<blockquote class="extDef">NOTE&nbsp; Definition according to ISO/CD 10303-42:1992<br>
A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an
unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the
agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement
flag is FALSE, then the subset is the one the normal points into.<br>
<br>
For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the
surface shall be manifold and all surface normals shall point into the same subset.<br>
<br>
NOTE&nbsp; A half space is not a subtype of solid model, half space solids are only useful as operands in Boolean
expressions.</blockquote>
<blockquote class="note">NOTE&nbsp; Entity adapted from <strong>half_space_solid</strong> defined in ISO
10303-42.</blockquote>
<blockquote class="history">HISTORY&nbsp; New entity in IFC1.5</blockquote>
<p class="spec-head">Informal Propositions:</p>
<ol>
<li>The base surface shall divide the domain into exactly two subsets. If the half space solid is of subtype boxed half
space (<em>IfcBoxedHalfSpace</em>), the domain in question is that of the attribute enclosure. In all other cases the
domain is all of space and the base surface shall be unbounded.</li>
<li>The base surface shall be an unbounded surface (subtype of <em>IfcElementarySurface</em>).</li>
</ol>